Streamlined user plane headers for high data rates

ABSTRACT

A method and apparatus for receiving a notification of missing packets include receiving a set of data packets transmitted by a device and having a corresponding set of sequence numbers, identifying one or more data packets having corresponding sequence numbers that fall within the set of sequence numbers and are yet to be received, receiving an indication from the device that the one or more data packets will not be transmitted by the device, and processing the set of data packets without the one or more data packets in response to receiving the indication.

RELATED APPLICATION

The present Application claims the benefit of the filing date of U.S.Provisional Application No. 62/407,453, filed on Oct. 12, 2016, titled:“STREAMLINED USER PLANE HEADERS FOR HIGH DATA RATES,” which is herebyexpressly incorporated by reference.

BACKGROUND

Wireless communication networks are widely deployed to provide variouscommunication services such as voice, video, packet data, messaging,broadcast, etc. These wireless networks may be multiple-access networkscapable of supporting multiple users by sharing the available networkresources. Examples of such multiple-access networks include CodeDivision Multiple Access (CDMA) networks, Time Division Multiple Access(TDMA) networks, Frequency Division Multiple Access (FDMA) networks,Orthogonal FDMA (OFDMA) networks, and Single-Carrier FDMA (SC-FDMA)networks.

These multiple access technologies have been adopted in varioustelecommunication standards to provide a common protocol that enablesdifferent wireless devices to communicate on a municipal, national,regional, and even global level. For example, 5G NR (new radio)communications technology is envisaged to expand and support diverseusage scenarios and applications with respect to current mobile networkgenerations. In an aspect, 5G communications technology includesenhanced mobile broadband addressing human-centric use cases for accessto multimedia content, services and data; ultra-reliable-low latencycommunications (URLLC) with requirements, especially in terms of latencyand reliability; and massive machine type communications for a verylarge number of connected devices, and typically transmitting arelatively low volume of non-delay-sensitive information. However, asthe demand for mobile broadband access continues to increase, thereexists a need for further improvements in 5G communications technologyand beyond. Preferably, these improvements should be applicable to othermulti-access technologies and the telecommunication standards thatemploy these technologies.

For a sender on an uplink, where the grant knowledge to transmissiontime is very limited, the media access control (MAC) header could beinterspersed or placed at the end and/or a shared header may be used.Additionally, some vendors want to allow their networks drop packetsbetween radio link control (RLC) layer and packet data convergenceprotocol (PDCP) with the network side. Some companies want to allowtheir networks drop packets, thus, requiring a new sequence number (SN)to be provided at the edge, e.g., RLC.

Further, many applications (e.g. video) utilizing 5G communicationstransport large of amount of data among participants within the network.The user plane, or platform for handling user data, manage the dataexchange. When the data gets packaged into packets, the user planeattaches a header to each packet. These headers, while necessary, canadd a significant amount of control information to the user data.Therefore, there is desirable for a method and an apparatus achievestreamlined user plane headers for higher data rates to reduce datatransmission and speed up the process.

SUMMARY

The following presents a simplified summary of one or more aspects inorder to provide a basic understanding of such aspects. This summary isnot an extensive overview of all contemplated aspects, and is intendedto neither identify key or critical elements of all aspects nordelineate the scope of any or all aspects. Its sole purpose is topresent some concepts of one or more aspects in a simplified form as aprelude to the more detailed description that is presented later.

A method and apparatus for receiving a notification of missing packetsinclude receiving a set of data packets transmitted by a device andhaving a corresponding set of sequence numbers, identifying one or moredata packets having corresponding sequence numbers that fall within theset of sequence numbers and are yet to be received, receiving anindication from the device that the one or more data packets will not betransmitted by the device, and processing the set of data packetswithout the one or more data packets in response to receiving theindication.

A method for sending a packet having reduced number of bits includesdetermining a length of the packet, identifying a length code based onthe length of the packet, the length code being one of multiple lengthcodes associated with predetermined packet lengths, embedding the lengthcode into a header of the packet, omitting a length field indicating thelength of the packet to reduce a number of bits in a header of thepacket, wherein the length code includes fewer bits than the lengthfield, and transmitting the packet.

Another method for sending a packet having reduced number of bitsincludes determining a type of the packet by examining whether a payloadof the packet includes a complete sequence or a first segment of asequence, identifying, in response to determining the type of thepacket, a format indicator value representing the type of the packet,embedding the format indicator value into a header of the packet,omitting a segment offset field indicating an offset of the payload inthe sequence, wherein the format indicator value includes fewer bitsthan the segment offset field, and transmitting the packet.

To the accomplishment of the foregoing and related ends, the one or moreaspects comprise the features hereinafter fully described andparticularly pointed out in the claims. The following description andthe annexed drawings set forth in detail certain illustrative featuresof the one or more aspects. These features are indicative, however, ofbut a few of the various ways in which the principles of various aspectsmay be employed, and this description is intended to include all suchaspects and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosed aspects will hereinafter be described in conjunction withthe appended drawings, provided to illustrate and not to limit thedisclosed aspects, wherein like designations denote like elements, andin which:

FIG. 1 is a schematic diagram of an example of a wireless communicationnetwork including at least one user equipment (UE);

FIG. 2 is an example method of notifying receiver of missing packets;

FIG. 3 is an example a method of receiving indication of missingpackets;

FIG. 4 is a schematic diagram showing packet headers;

FIG. 5 is an example method of streamlining packet headers;

FIG. 6 is an example table of length encodings, lengths, and packettypes;

FIG. 7 is another example method of streamlining packet headers;

FIG. 8 is an example table of protocol data unit (PDU) format indicatorsand associated descriptions;

FIG. 9 is a schematic diagram of an example of a user equipment; and

FIG. 10 is a schematic diagram of an example of a base station.

DETAILED DESCRIPTION

Various aspects are now described with reference to the drawings. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofone or more aspects. It may be evident, however, that such aspect(s) maybe practiced without these specific details. Additionally, the term“component” as used herein may be one of the parts that make up asystem, may be hardware, firmware, and/or software stored on acomputer-readable medium, and may be divided into other components.

The following description provides examples, and is not limiting of thescope, applicability, or examples set forth in the claims. Changes maybe made in the function and arrangement of elements discussed withoutdeparting from the scope of the disclosure. Various examples may omit,substitute, or add various procedures or components as appropriate. Forinstance, the methods described may be performed in an order differentfrom that described, and various steps may be added, omitted, orcombined. Also, features described with respect to some examples may becombined in other examples.

In an aspect, a user equipment (UE) and/or user plane may be configuredto move the packet size from the MAC to the RLC layer by adding at theMAC layer the sizes of consecutive packets belonging to the same logicalRLC channel or duplicate MAC size information in RLC. In an additionalaspect, UE and/or user plane may be further configured with a reliableprotocol to jump over some sequence numbers, for example, by using a“Forward Status Protocol Data Unit” or “Forward Status PDU” wherein thetransmitter informs the receiver about sequence numbers that may not betransmitted. The sender then can ask the receiver to move the receiver'swindow forward and/or pass the packets to the upper layer per thereceiver's logic. In some examples the UE may be the sender and the basestation may be the receiver. In other examples, the base station may bethe sender and the UE may be the receiver. The UE could reorderseparately IP packet flows, and can have a more elaborate logic than thereceiver's window common to IP packet flows. For example, in Radio LinkControl (RLC) protocol, the receiver's window is a receive statevariable. This state variable holds the value of the sequence numberfollowing the last n-sequence completely received acknowledged mode dataPDU (AMD PDU), and it serves as the lower edge of the receiving window.It is initially set to 0, and is updated whenever the acknowledged modeRLC entity receives an AMD PDU with SN set to the window value.

In a further additional aspect, additional header format optimizationsmay be implemented, for example, omitting a portion of the header whenthe segment offset is equal to 0, when combining it with the type of theheader. See below for detailed explanations. Specifically, to save bitson common packet sizes, it is possible to omit the actual size field,for a subset of known sizes. This subset of common PDCP header sizes caneither be hardcoded in the standard or configured by the network. Forexample, a length encoding field can either carry implicitly the packetsize or it can indicate the actual length is included. One value can bereserved to mean the same as the previous service data unit (SDU).Another value means that the size is not one of the default values, andthe full size is included. In general, the network could configure adifferent table per call, depending on the active session (e.g. VoLTE,Data, VT), and depending on the actual sizes generated by theapplications, which can change over time.

It should be noted that the techniques described herein may be used forvarious wireless communication networks such as CDMA, TDMA, FDMA, OFDMA,SC-FDMA, and other systems. The terms “system” and “network” are oftenused interchangeably. A CDMA system may implement a radio technologysuch as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc.CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases 0and A are commonly referred to as CDMA2000 1×, 1×, etc. IS-856 (TIA-856)is commonly referred to as CDMA2000 1×EV-DO, High Rate Packet Data(HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other variants ofCDMA. A TDMA system may implement a radio technology such as GlobalSystem for Mobile Communications (GSM). An OFDMA system may implement aradio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA(E-UTRA), IEEE 902.11 (Wi-Fi), IEEE 902.16 (WiMAX), IEEE 902.20,Flash-OFDM™, etc. UTRA and E-UTRA are part of Universal MobileTelecommunication System (UMTS). 3GPP Long Term Evolution (LTE) andLTE-Advanced (LTE-A) are new releases of UMTS that use E-UTRA. UTRA,E-UTRA, UMTS, LTE, LTE-A, and GSM are described in documents from anorganization named “3rd Generation Partnership Project” (3GPP). CDMA2000and UMB are described in documents from an organization named “3rdGeneration Partnership Project 2” (3GPP2). The techniques describedherein may be used for the systems and radio technologies mentionedabove as well as other systems and radio technologies, includingcellular (e.g., LTE) communications over a shared radio frequencyspectrum band. The description below, however, describes an LTE/LTE-Asystem for purposes of example, and LTE terminology is used in much ofthe description below, although the techniques are applicable beyondLTE/LTE-A applications (e.g., to 5G networks or other next generationcommunication systems).

Referring to FIG. 1, in accordance with various aspects of the presentdisclosure, the wireless communication network 100 may include one ormore base stations 105, one or more UEs 110, and a core network 115.When the base stations 105 and the UEs 110 exchange packets within theuser plane, each packets includes headers and payloads. The payloadsinclude user information transmitted between the base stations 105 andthe UEs 110, and the headers include information necessary for thetransmission. The UEs 110 and the base stations 105 rely on componentsto analyze, tailor, and exchange packets and packet headers.

Specifically, the UE 110 includes a modem 140, a packet component 150, aheader component 152, and a communication component 154. The packetcomponent 150 may analyze and determine the characteristics associatedwith a packet. The header component 152 may analyze and determine thecontents of the packet header. The communication component 154 may sendand/or receive packets via transceivers within the UE 110.

Similarly, the base station 105 includes a modem 160, a packet component170, a header component 172, and a communication component 174, whichmay execute functions similar to the packet component 150, the headercomponent 152, and the communication component 154. The modem 160 may beconfigured to communicate with other base stations 105 and UEs 110 via acellular network or other wireless and wired networks. The modem 140 maybe configured to communicate via a cellular network, a Wi-Fi network, orother wireless and wired networks. The modems 140, 160 may receive andtransmit data packets, via transceivers.

The core network 115 may provide user authentication, accessauthorization, tracking, internet protocol (IP) connectivity, and otheraccess, routing, or mobility functions. The base stations 105 mayinterface with the core network 115 through backhaul links 120 (e.g.,S1, etc.). The base stations 105 may perform radio configuration andscheduling for communication with the UEs 110, or may operate under thecontrol of a base station controller (not shown). In various examples,the base stations 105 may communicate, either directly or indirectly(e.g., through core network 115), with one another over backhaul links125 (e.g., X1, etc.), which may be wired or wireless communicationlinks.

The base stations 105 may wirelessly communicate with the UEs 110 viaone or more base station antennas. Each of the base stations 105 mayprovide communication coverage for a respective geographic coverage area130. In some examples, the base stations 105 may be referred to as abase transceiver station, a radio base station, an access point, anaccess node, a radio transceiver, a NodeB, eNodeB (eNB), gNB, HomeNodeB, a Home eNodeB, a relay, or some other suitable terminology. Thegeographic coverage area 130 for a base station 105 may be divided intosectors or cells making up only a portion of the coverage area (notshown). The wireless communication network 100 may include base stations105 of different types (e.g., macro base stations or small cell basestations, described below). Additionally, the plurality of base stations105 may operate according to different ones of a plurality ofcommunication technologies (e.g., 5G (New Radio or “NR”), fourthgeneration (4G)/LTE, 3G, Wi-Fi, Bluetooth, etc.), and thus there may beoverlapping geographic coverage areas 130 for different communicationtechnologies.

In some examples, the wireless communication network 100 may be orinclude one or any combination of communication technologies, includinga NR or 5G technology, a Long Term Evolution (LTE) or LTE-Advanced(LTE-A) or MuLTEfire technology, a Wi-Fi technology, a Bluetoothtechnology, or any other long or short range wireless communicationtechnology. In LTE/LTE-A/MuLTEfire networks, the term evolved node B(eNB) may be generally used to describe the base stations 105, while theterm UE may be generally used to describe the UEs 110. The wirelesscommunication network 100 may be a heterogeneous technology network inwhich different types of eNBs provide coverage for various geographicalregions. For example, each eNB or base station 105 may providecommunication coverage for a macro cell, a small cell, or other types ofcell. The term “cell” is a 3GPP term that can be used to describe a basestation, a carrier or component carrier associated with a base station,or a coverage area (e.g., sector, etc.) of a carrier or base station,depending on context.

A macro cell may generally cover a relatively large geographic area(e.g., several kilometers in radius) and may allow unrestricted accessby UEs 110 with service subscriptions with the network provider.

A small cell may include a relative lower transmit-powered base station,as compared with a macro cell, that may operate in the same or differentfrequency bands (e.g., licensed, unlicensed, etc.) as macro cells. Smallcells may include pico cells, femto cells, and micro cells according tovarious examples. A pico cell, for example, may cover a small geographicarea and may allow unrestricted access by UEs 110 with servicesubscriptions with the network provider. A femto cell may also cover asmall geographic area (e.g., a home) and may provide restricted accessand/or unrestricted access by UEs 110 having an association with thefemto cell (e.g., in the restricted access case, UEs 110 in a closedsubscriber group (CSG) of the base station 105, which may include UEs110 for users in the home, and the like). An eNB for a macro cell may bereferred to as a macro eNB. An eNB for a small cell may be referred toas a small cell eNB, a pico eNB, a femto eNB, or a home eNB. An eNB maysupport one or multiple (e.g., two, three, four, and the like) cells(e.g., component carriers).

The communication networks that may accommodate some of the variousdisclosed examples may be packet-based networks that operate accordingto a layered protocol stack and data in the user plane may be based onthe IP. A user plane protocol stack (e.g., packet data convergenceprotocol (PDCP), radio link control (RLC), MAC, etc.), may performpacket segmentation and reassembly to communicate over logical channels.For example, a MAC layer may perform priority handling and multiplexingof logical channels into transport channels. The MAC layer may also usehybrid automatic repeat/request (HARD) to provide retransmission at theMAC layer to improve link efficiency. In the control plane, the RRCprotocol layer may provide establishment, configuration, and maintenanceof an RRC connection between a UE 110 and the base stations 105. The RRCprotocol layer may also be used for core network 115 support of radiobearers for the user plane data. At the physical (PHY) layer, thetransport channels may be mapped to physical channels.

The UEs 110 may be dispersed throughout the wireless communicationnetwork 100, and each UE 110 may be stationary or mobile. A UE 110 mayalso include or be referred to by those skilled in the art as a mobilestation, a subscriber station, a mobile unit, a subscriber unit, awireless unit, a remote unit, a mobile device, a wireless device, awireless communications device, a remote device, a mobile subscriberstation, an access terminal, a mobile terminal, a wireless terminal, aremote terminal, a handset, a user agent, a mobile client, a client, orsome other suitable terminology. A UE 110 may be a cellular phone, asmart phone, a personal digital assistant (PDA), a wireless modem, awireless communication device, a handheld device, a tablet computer, alaptop computer, a cordless phone, a smart watch, a wireless local loop(WLL) station, an entertainment device, a vehicular component, acustomer premises equipment (CPE), or any device capable ofcommunicating in wireless communication network 100. Additionally, a UE110 may be Internet of Things (IoT) and/or machine-to-machine (M2M) typeof device, e.g., a low power, low data rate (relative to a wirelessphone, for example) type of device, that may in some aspects communicateinfrequently with wireless communication network 100 or other UEs. A UE110 may be able to communicate with various types of base stations 105and network equipment including macro eNBs, small cell eNBs, macro gNBs,small cell gNBs, relay base stations, and the like.

A UE 110 may be configured to establish one or more wirelesscommunication links 135 with one or more base stations 105. The wirelesscommunication links 135 shown in wireless communication network 100 maycarry uplink (UL) transmissions from a UE 110 to a base station 105, ordownlink (DL) transmissions, from a base station 105 to a UE 110. Thedownlink transmissions may also be called forward link transmissionswhile the uplink transmissions may also be called reverse linktransmissions. Each wireless communication link 135 may include one ormore carriers, where each carrier may be a signal made up of multiplesub-carriers (e.g., waveform signals of different frequencies) modulatedaccording to the various radio technologies described above. Eachmodulated signal may be sent on a different sub-carrier and may carrycontrol information (e.g., reference signals, control channels, etc.),overhead information, user data, etc. In an aspect, the wirelesscommunication links 135 may transmit bidirectional communications usingfrequency division duplex (FDD) (e.g., using paired spectrum resources)or time division duplex (TDD) operation (e.g., using unpaired spectrumresources). Frame structures may be defined for FDD (e.g., framestructure type 1) and TDD (e.g., frame structure type 2). Moreover, insome aspects, the wireless communication links 135 may represent one ormore broadcast channels.

In some aspects of the wireless communication network 100, base stations105 or UEs 110 may include multiple antennas for employing antennadiversity schemes to improve communication quality and reliabilitybetween base stations 105 and UEs 110. Additionally or alternatively,base stations 105 or UEs 110 may employ multiple input multiple output(MIMO) techniques that may take advantage of multi-path environments totransmit multiple spatial layers carrying the same or different codeddata.

Wireless communication network 100 may support operation on multiplecells or carriers, a feature which may be referred to as carrieraggregation (CA) or multi-carrier operation. A carrier may also bereferred to as a component carrier (CC), a layer, a channel, etc. Theterms “carrier,” “component carrier,” “cell,” and “channel” may be usedinterchangeably herein. A UE 110 may be configured with multipledownlink CCs and one or more uplink CCs for carrier aggregation. Carrieraggregation may be used with both FDD and TDD component carriers. Thebase stations 105 and UEs 110 may use spectrum up to Y MHz (e.g., Y=5,10, 15, or 20 MHz) bandwidth per carrier allocated in a carrieraggregation of up to a total of Yx MHz (x=number of component carriers)used for transmission in each direction. The carriers may or may not beadjacent to each other. Allocation of carriers may be asymmetric withrespect to DL and UL (e.g., more or less carriers may be allocated forDL than for UL). The component carriers may include a primary componentcarrier and one or more secondary component carriers. A primarycomponent carrier may be referred to as a primary cell (PCell) and asecondary component carrier may be referred to as a secondary cell(SCell).

The wireless communications network 100 may further include basestations 105 operating according to Wi-Fi technology, e.g., Wi-Fi accesspoints, in communication with UEs 110 operating according to Wi-Fitechnology, e.g., Wi-Fi stations (STAs) via communication links in anunlicensed frequency spectrum (e.g., 5 GHz). When communicating in anunlicensed frequency spectrum, the STAs and AP may perform a clearchannel assessment (CCA) or listen before talk (LBT) procedure prior tocommunicating in order to determine whether the channel is available.

Additionally, one or more of base stations 105 and/or UEs 110 mayoperate according to a NR or 5G technology referred to as millimeterwave (mmW or mmwave) technology. For example, mmW technology includestransmissions in mmW frequencies and/or near mmW frequencies. Extremelyhigh frequency (EHF) is part of the radio frequency (RF) in theelectromagnetic spectrum. EHF has a range of 30 GHz to 300 GHz and awavelength between 1 millimeter and 10 millimeters. Radio waves in thisband may be referred to as a millimeter wave. Near mmW may extend downto a frequency of 3 GHz with a wavelength of 100 millimeters. Forexample, the super high frequency (SHF) band extends between 3 GHz and30 GHz, and may also be referred to as centimeter wave. Communicationsusing the mmW and/or near mmW radio frequency band has extremely highpath loss and a short range. As such, base stations 105 and/or UEs 110operating according to the mmW technology may utilize beamforming intheir transmissions to compensate for the extremely high path loss andshort range.

Turning now to FIG. 2, an aspect of the present disclosure includes amethod 200 of notifying the receiver of missing packets that includesthe UE 110 transmitting (202) a set of data packets having acorresponding set of sequence numbers to the base station 105. Forexample, the communication component 154 may transmit (202), via atransceiver 902, 7 packets having sequence numbers 1, 3, 5, 6, and 8-10to the communication component 174. The 7 packets, numbered 1, 3, 5, 6,and 8-10, may be part of a sequence.

Next, in some implementations, the UE 110 may identify (204) one or moredata packets having corresponding sequence numbers that fall within theset of sequence numbers and that did not transmit with the set of datapackets. For example, the packet component 150 may identify (204) 3packets, having sequence numbers 2, 4, and 7, that will not betransmitted to the base station 105. The packets 2, 4, and 7 may be partof the same sequence as the packets numbered 1, 3, 5, 6, and 8-10. Thepackets that did not transmit may be continuous in the sequence or notcontinuous in the sequence.

Next, in some implementations, the UE 110 may transmit (206) anindication that the one or more data packets will not be transmitted.For example, the communication component 154 of the UE 110 may transmit(206), via a transceiver 902, an indication to the communicationcomponent 174 to inform the base station 105 that the UE 110 will not besending the packets numbered 2, 4, and 7 to the base station 105. Whilethe non-limiting example above includes 10 packets, different numbers ofpackets also fall within the scope of the present disclosure.

In an optional implementation, the UE 110 may transmit (208) an offsetfor moving an edge of a receiver's window pass a sequence number of apacket of the one or more packets not transmitted with the set of datapackets. For example, the communication component 154 may transmit (208)an offset to the communication component 174 to move an edge of the basestation's window from sequence number 1 to sequence number 3 because thepacket with sequence number 2 will not be sent.

Similarly, the base station 105 may also perform the method 200. Forexample, the communication component 174 may transmit (202), via atransceiver 1002, 8 packets having sequence numbers 1-4, 6, 7, 9, and 10to the communication component 154. Next, the packet component 170 mayidentify (204) 2 packets, having sequence numbers 5, and 8, that willnot be transmitted to the UE 110. Finally, the communication component174 of the base station 105 may transmit (206), via a transceiver 1002,an indication to the communication component 154 to inform the UE 110that the base station 105 will not be sending the packets numbered 5,and 8 to the UE 110. Optionally, the communication component 174 maytransmit (208), via the transceiver 1002, an offset to the communicationcomponent 154 to move an edge of the UE's window from sequence number 4to sequence number 6 because the packet with sequence number 5 will notbe sent.

Turning now to FIG. 3, which shows a method 300 of receiving anindication of missing packets, in some implementations, the base station105 may receive (302) a set of data packets transmitted by a device andhaving a corresponding set of sequence numbers. For example, thecommunication component 174 may receive (302), via the transceiver 1002,7 data packets transmitted by the communication component 154 and havingsequence numbers 1, 3, 5, 6, and 8-10 from the communication component154.

Next, the base station 105 may identify (304) one or more data packetshaving corresponding sequence numbers that fall within the set ofsequence numbers and are yet to be received. For example, the packetcomponent 170 may identify (304) the packets numbered 2, 4, and 7 thathave yet to be received by the communication component 174.

Next, the base station 105 may receive (306) an indication from thedevice that the one or more data packets will not be transmitted. Forexample, the communication component 174 may receive, via thetransceiver 1002, an indication from the communication component 154that the packets numbered 2, 4, and 7 will not be transmitted. Theindication may be a Forward Status PDU or other suitable datastructures.

In response to receiving the indication, the base station 105 mayprocess (308) the set of data packets without the one or more datapackets in response to receiving the indication. For example, afterreceiving (306), via the transceiver 1002, the indication, the packetcomponent 170 may process (308) the data packets numbered 1, 3, 5, 6,and 8-10.

Optionally, the base station 105 may receive (310) an offset for movingan edge of a receiver's window pass the second corresponding set ofsequence numbers. For example, the base station 105 may receive (310),via the transceiver 1002, an offset from the communication component 154to move an edge of the base station's window from sequence number 1 tosequence number 3 because the packet with sequence number 2 will not besent. Alternatively or additionally, the UE 110 may reorder the receivedpackets to account for the missing packets, and/or pass the receivedpackets to an upper layer.

Similarly, the UE 110 may also perform the method 300. For example, thecommunication component 154 may receive (302), via the transceiver 902,8 packets having sequence numbers 1-4, 6, 7, 9, and 10 from thecommunication component 174. Next, the packet component 150 may identify(304) 2 packets numbered 5 and 8. Next, the communication component 154may receive, via the transceiver 902, an indication that the packetsnumbered 5 and 8 will not be transmitted. After receiving (306), via thetransceiver 902, the indication, the packet component 150 may process(308) the data packets numbered 1-4, 6, 7, 9, and 10. In optionalimplementations, the UE 110 may receive (310), via the transceiver 902,an offset from the communication component 174 to move an edge of theUE's window from sequence number 4 to sequence number 6 because thepacket with sequence number 5 will not be sent. Alternatively oradditionally, the UE 110 may reorder the received packets to account forthe missing packets, and/or pass the received packets to an upper layer.

FIG. 4 shows examples of packet headers. A packet header 400 includes aprotocol data unit (PDU) format indicator 402, a reserved field 404, alength indicator 406, an optional length field 408, an optional segmentoffset 410, and an optional L2 Shared header 412. A packet header 430with a reduced header includes a PDU format indicator 432, a reservedfield 434, and a length indicator 436. Another packet header 460 with areduced header includes a PDU format indicator 462, a reserved field464, a length indicator 466, and an optional length field 468.

Turning now to FIG. 5, with reference to FIG. 4, a method 500 ofstreamlining packet header includes the UE 110 determining (502) alength of the packet. For example, the packet component 150 maydetermine (502) the length of the packet. The length of the packet maybe 1500 bits long, 1498 bits long, or 1280 bits long, for example.

Next, the UE 110 may identify (504) a length code based on the length ofthe packet, the length code being one of multiple length codesassociated with predetermined packet lengths. For example, the packetcomponent 150 may identify (504) the length of the packet to be 1498bits long, and the associated length code is 0011. The length code 0011may be one of many length codes associated with different packetlengths. Importantly, the length codes for different packet lengths maybe associated with packets of communication standards. For example, alength code of 0100 may indicate a packet length of 1280 bits, or thedefault length of a TCP IPv6 packet. In another example, a length codeof 0000 may indicate a packet length of 1500 bits, or the default lengthof a TCP IPv4 packet. FIG. 6 shows an example look-up table 600 of somelength codes, lengths descriptions, and packet types. Examples include aTransmission Control Protocol/Internet Protocol version 4 data packet(TCP IPv4 packet), a Transmission Control Protocol/Internet Protocolversion 4 acknowledgement packet (TCP IPv4 Ack), a TCP IPv4 Ack packetwith optional fields, a User Datagram Protocol/Internet Protocol version4 data packet (UDP IPv4 packet), a Transmission ControlProtocol/Internet Protocol version 6 data packet (TCP IPv6 packet), aUser Datagram Protocol/Internet Protocol version 6 acknowledgementpacket (TCP IPv6 ack), and a TCP IPv6 ack packet with optional fields.Other packet types are possible. The look-up table 600 may be furnishedby the communication network 100. The communication network 100 maydynamically change the look-up table 600 depending on the activesessions and/or the size of packets exchanged within the network.

Alternatively, the identifying (504) may include comparing the length ofthe packet with a length of an immediately previous packet. If thelengths are equal, the UE 110 may identify (504) a corresponding lengthcode indicating that the length of the current packet is substantiallyidentical to the length of the immediately previous packet.

Returning to FIGS. 4 and 5, in some implementations, the UE 110 mayembed (506) the length code into a header of the packet. For example,the header component 152 may embed (506) the length code 0100 into thelength indicator 436.

Next, the UE 110 may omit (508) a length field indicating the length ofthe packet to reduce a number of bits in a header of the packet, whereinthe length code includes fewer bits than the length field. For example,the header component 152 of the UE 110 may omit (508) a length field 438to reduce the number of bits in the packet header 430. Since, in thisnon-limiting example, the length field 438 includes 16 bits and thelength indicator 436 includes 4 bits, utilizing the length code of 0100instead of the length of 0000010100000000 reduces the size of the packetheader 430 by 12 bits.

Lastly, in some implementations, the UE 110 may transmit (510) thepacket. For example, the communication component 154 may transmit (510),via the transceiver 902, the packet with the packet header 430 havingreduced number of bits to the communication component 174 of the basestation 105.

Similarly, the base station 105 may also perform the method 500. Forexample, the packet component 170 may determine (502) the length of thepacket. Next, the packet component 170 may identify (504) the length ofthe packet to be 70 bits long, and the associated length code is 0110.the header component 172 may embed (506) the length code 0110 into thelength indicator 436. The header component 172 of the base station 105may omit (508) a length field 438 to reduce the number of bits in thepacket header 430. The communication component 174 may transmit (510),via the transceiver 1002, the packet with the packet header 430 havingreduced number of bits to the communication component 154 of the UE 110.

Turning now to FIG. 7, with reference to FIG. 4, the UE 110 maydetermine (1002) a type of the packet by examining whether a payload ofthe packet includes a complete sequence or a first segment of asequence. For example, the packet component 150 may determine (1002)that the payload includes a complete sequence (i.e. having all thesegments of a message). Alternatively, the packet component 150 maydetermine (1002) that the payload includes the first segment of asequence. In either case, it would not be necessary to embed a segmentoffset value into the segment offset field of a packet header.

Still referring to FIGS. 4 and 7, in response to the packet component150 determining (1002) that the payload includes the first segment of asequence, the UE 110 may identify (704) a format indicator valuerepresenting the type of the packet. For example, the header component152 may identify (704) a format indicator value of 001 that representsthe type of the packet, namely packet with the payload including thefirst segment of a sequence. FIG. 8 shows an example table 800 havingnumerous PDU format indicator values and PDU format indicatordescriptions.

Returning to FIGS. 4 and 7, in some implementations, the UE 110 mayembed (1006) the format indicator value into a header of the packet. Forexample, the header component 152 may embed (1006) the value 001 intothe PDU format indicator 462 of the packet header 460.

Next, the UE 110 may omit (1008) a segment offset field indicating anoffset of the payload in the sequence, wherein the format indicatorvalue includes less bits than the segment offset field. For example, theheader component 152 may omit (1008) the segment offset 470 since thepayload of the packet includes a first segment of a sequence. Since, inthis non-limiting example, the segment offset 370 includes 16 bits andthe PDU format indicator 462 includes 3 bits, utilizing the PDU formatindicator 462 instead of the segment offset 370 reduces the size of thepacket header 460 by 13 bits.

Next, the UE 110 may transmit (710) the packet. For example, thecommunication component 154 of the UE 110 may transmit (710), via thetransceiver 902, the packet having the packet header 460 having reducednumber of bits.

Referring to FIG. 9, one example of an implementation of the UE 110 mayinclude a variety of components, some of which have already beendescribed above, but including components such as one or more processors912 and memory 916 and transceiver 902 in communication via one or morebuses 944, which may operate in conjunction with modem 140 and thepacket component 150 to enable one or more of the functions describedherein related to streamlining the packet headers. Further, the one ormore processors 912, modem 140, memory 916, transceiver 902, RF frontend 988 and one or more antennas 965, may be configured to support voiceand/or data calls (simultaneously or non-simultaneously) in one or moreradio access technologies.

In an aspect, the one or more processors 912 can include a modem 140that uses one or more modem processors. The various functions related tothe packet component 150 may be included in modem 140 and/or processors912 and, in an aspect, can be executed by a single processor, while inother aspects, different ones of the functions may be executed by acombination of two or more different processors. For example, in anaspect, the one or more processors 912 may include any one or anycombination of a modem processor, or a baseband processor, or a digitalsignal processor, or a transmit processor, or a receiver processor, or atransceiver processor associated with transceiver 902. In other aspects,some of the features of the one or more processors 912 and/or modem 140associated with the packet component 150 may be performed by transceiver902.

Memory 916 can include any type of computer-readable medium usable by acomputer or at least one processor 912, such as random access memory(RAM), read only memory (ROM), tapes, magnetic discs, optical discs,volatile memory, non-volatile memory, and any combination thereof. In anaspect, for example, memory 916 may be a non-transitorycomputer-readable storage medium that stores one or morecomputer-executable codes defining the packet component 150 and/or oneor more of its subcomponents, and/or data associated therewith, when UE110 is operating at least one processor 912 to execute the packetcomponent 150 and/or one or more of its subcomponents.

Transceiver 902 may include at least one receiver 906 and at least onetransmitter 908. Receiver 906 may include hardware, firmware, and/orsoftware code executable by a processor for receiving data, the codecomprising instructions and being stored in a memory (e.g.,computer-readable medium). Receiver 906 may be, for example, a radiofrequency (RF) receiver. In an aspect, receiver 906 may receive signalstransmitted by at least one base station 105. Additionally, receiver 906may process such received signals, and also may obtain measurements ofthe signals, such as, but not limited to, Ec/Io, SNR, RSRP, RSSI, etc.Transmitter 908 may include hardware, firmware, and/or software codeexecutable by a processor for transmitting data, the code comprisinginstructions and being stored in a memory (e.g., computer-readablemedium). A suitable example of transmitter 908 may including, but is notlimited to, an RF transmitter.

Moreover, in an aspect, UE 110 may include RF front end 988, which mayoperate in communication with one or more antennas 965 and transceiver902 for receiving and transmitting radio transmissions, for example,wireless communications transmitted by at least one base station 105 orwireless transmissions transmitted by UE 110. RF front end 988 may beconnected to one or more antennas 965 and can include one or morelow-noise amplifiers (LNAs) 990, one or more switches 992, one or morepower amplifiers (PAs) 998, and one or more filters 996 for transmittingand receiving RF signals.

In an aspect, LNA 990 can amplify a received signal at a desired outputlevel. In an aspect, each LNA 990 may have a specified minimum andmaximum gain values. In an aspect, RF front end 988 may use one or moreswitches 992 to select a particular LNA 990 and its specified gain valuebased on a desired gain value for a particular application.

Further, for example, one or more PA(s) 998 may be used by RF front end988 to amplify a signal for an RF output at a desired output powerlevel. In an aspect, each PA 998 may have specified minimum and maximumgain values. In an aspect, RF front end 988 may use one or more switches992 to select a particular PA 998 and its specified gain value based ona desired gain value for a particular application.

Also, for example, one or more filters 996 can be used by RF front end988 to filter a received signal to obtain an input RF signal. Similarly,in an aspect, for example, a respective filter 996 can be used to filteran output from a respective PA 998 to produce an output signal fortransmission. In an aspect, each filter 996 can be connected to aspecific LNA 990 and/or PA 998. In an aspect, RF front end 988 can useone or more switches 992 to select a transmit or receive path using aspecified filter 996, LNA 990, and/or PA 998, based on a configurationas specified by transceiver 902 and/or processor 912.

As such, transceiver 902 may be configured to transmit and receivewireless signals through one or more antennas 965 via RF front end 988.In an aspect, transceiver may be tuned to operate at specifiedfrequencies such that UE 110 can communicate with, for example, one ormore base stations 105 or one or more cells associated with one or morebase stations 105. In an aspect, for example, modem 140 can configuretransceiver 902 to operate at a specified frequency and power levelbased on the UE configuration of the UE 110 and the communicationprotocol used by modem 140.

In an aspect, modem 140 can be a multiband-multimode modem, which canprocess digital data and communicate with transceiver 902 such that thedigital data is sent and received using transceiver 902. In an aspect,modem 140 can be multiband and be configured to support multiplefrequency bands for a specific communications protocol. In an aspect,modem 140 can be multimode and be configured to support multipleoperating networks and communications protocols. In an aspect, modem 140can control one or more components of UE 110 (e.g., RF front end 988,transceiver 902) to enable transmission and/or reception of signals fromthe network based on a specified modem configuration. In an aspect, themodem configuration can be based on the mode of the modem and thefrequency band in use. In another aspect, the modem configuration can bebased on UE configuration information associated with UE 110 as providedby the network during cell selection and/or cell reselection.

Referring to FIG. 10, one example of an implementation of the basestations 105 may include a variety of components, some of which havealready been described above in connection with FIG. 9, but includingcomponents such as one or more processors 1012 and memory 1016 andtransceiver 1002 in communication via one or more buses 1044, which mayoperate in conjunction with modem 160 and the communication component174 to enable one or more of the functions described herein related tostreamlining the packet headers.

The above detailed description set forth above in connection with theappended drawings describes examples and does not represent the onlyexamples that may be implemented or that are within the scope of theclaims. The term “example,” when used in this description, means“serving as an example, instance, or illustration,” and not “preferred”or “advantageous over other examples.” The detailed description includesspecific details for the purpose of providing an understanding of thedescribed techniques. These techniques, however, may be practicedwithout these specific details. In some instances, well-known structuresand apparatuses are shown in block diagram form in order to avoidobscuring the concepts of the described examples.

Information and signals may be represented using any of a variety ofdifferent technologies and techniques. For example, data, instructions,commands, information, signals, bits, symbols, and chips that may bereferenced throughout the above description may be represented byvoltages, currents, electromagnetic waves, magnetic fields or particles,optical fields or particles, computer-executable code or instructionsstored on a computer-readable medium, or any combination thereof.

The various illustrative blocks and components described in connectionwith the disclosure herein may be implemented or performed with aspecially-programmed device, such as but not limited to a processor, adigital signal processor (DSP), an ASIC, a FPGA or other programmablelogic device, a discrete gate or transistor logic, a discrete hardwarecomponent, or any combination thereof designed to perform the functionsdescribed herein. A specially-programmed processor may be amicroprocessor, but in the alternative, the processor may be anyconventional processor, controller, microcontroller, or state machine. Aspecially-programmed processor may also be implemented as a combinationof computing devices, e.g., a combination of a DSP and a microprocessor,multiple microprocessors, one or more microprocessors in conjunctionwith a DSP core, or any other such configuration.

The functions described herein may be implemented in hardware, softwareexecuted by a processor, firmware, or any combination thereof. Ifimplemented in software executed by a processor, the functions may bestored on or transmitted over as one or more instructions or code on anon-transitory computer-readable medium. Other examples andimplementations are within the scope and spirit of the disclosure andappended claims. For example, due to the nature of software, functionsdescribed above can be implemented using software executed by aspecially programmed processor, hardware, firmware, hardwiring, orcombinations of any of these. Features implementing functions may alsobe physically located at various positions, including being distributedsuch that portions of functions are implemented at different physicallocations. Also, as used herein, including in the claims, “or” as usedin a list of items prefaced by “at least one of” indicates a disjunctivelist such that, for example, a list of “at least one of A, B, or C”means A or B or C or AB or AC or BC or ABC (i.e., A and B and C).

Computer-readable media includes both computer storage media andcommunication media including any medium that facilitates transfer of acomputer program from one place to another. A storage medium may be anyavailable medium that can be accessed by a general purpose or specialpurpose computer. By way of example, and not limitation,computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or otheroptical disk storage, magnetic disk storage or other magnetic storagedevices, or any other medium that can be used to carry or store desiredprogram code means in the form of instructions or data structures andthat can be accessed by a general-purpose or special-purpose computer,or a general-purpose or special-purpose processor. Also, any connectionis properly termed a computer-readable medium. For example, if thesoftware is transmitted from a website, server, or other remote sourceusing a coaxial cable, fiber optic cable, twisted pair, digitalsubscriber line (DSL), or wireless technologies such as infrared, radio,and microwave, then the coaxial cable, fiber optic cable, twisted pair,DSL, or wireless technologies such as infrared, radio, and microwave areincluded in the definition of medium. Disk and disc, as used herein,include compact disc (CD), laser disc, optical disc, digital versatiledisc (DVD), floppy disk and Blu-ray disc where disks usually reproducedata magnetically, while discs reproduce data optically with lasers.Combinations of the above are also included within the scope ofcomputer-readable media.

The previous description of the disclosure is provided to enable aperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the common principles defined herein may beapplied to other variations without departing from the spirit or scopeof the disclosure. Furthermore, although elements of the describedaspects may be described or claimed in the singular, the plural iscontemplated unless limitation to the singular is explicitly stated.Additionally, all or a portion of any aspect may be utilized with all ora portion of any other aspect, unless stated otherwise. Thus, thedisclosure is not to be limited to the examples and designs describedherein but is to be accorded the widest scope consistent with theprinciples and novel features disclosed herein.

What is claimed is:
 1. A method of sending packets, comprising, at awireless communication device: determining a length of a first packet;identifying a length code for the first packet based, at least in part,on the length of the first packet, the length code for the first packetbeing one of multiple length codes associated with predetermined packetlengths in a look-up table, wherein the look-up table is dynamicallyconfigurable by a communication network based, at least in part, on anactive session, or a previously transmitted packet, or both; embeddingthe length code for the first packet into a header of the first packet;omitting a length field indicating the length of the first packet fromthe header of the first packet, wherein the length code for the firstpacket includes fewer bits than the length field; and transmitting thefirst packet.
 2. The method of claim 1, wherein the length code isfurther associated with one of a TCP IPv4 packet, a TCP IPv4 Ack packet,a UDP IPv4 packet, a TCP IPv6 packet, a UDP IPv6 packet, or a TCP IPv6Ack packet.
 3. The method of claim 1, wherein the look-up table isdynamically configurable by the communication network on a per callbasis.
 4. The method of claim 1, and further comprising, at the wirelesscommunication device: determining a length of a second packetimmediately subsequent the first packet of packets to be sent; comparingthe length of the second packet to the length of the first packet; inresponse to the length of the second packet being equal to the length ofthe first packet, using the length code for the first packet as thelength code for the second packet; embedding the length code for thesecond packet into a header of the second packet; omitting a lengthfield indicating the length of the second packet from the header of thesecond packet; and transmitting the second packet.
 5. The method ofclaim 1, and further comprising, at the wireless communication device:determining a length of a second packet immediately subsequent the firstpacket of packets to be sent; comparing the length of the second packetto the length of the first packet; in response to the length of thesecond packet being equal to the length of the first packet, identifyinga same as previous length code for the second packet in the look-uptable; embedding the same as previous length code for the second packetinto a header of the second packet; omitting a length field indicatingthe length of the second packet from the header of the second packet;and transmitting the second packet.
 6. A wireless communication devicecomprising: a transceiver; memory; and a processor coupled to thetransceiver and the memory, wherein the processor and memory areconfigured to: determine a length of a first packet to be sent; identifya length code for the first packet based, at least in part, on thelength of the first packet, the length code for the first packet beingone of multiple length codes associated with predetermined packetlengths in a look-up table stored in the memory, wherein the look-uptable is dynamically configurable by a communication network based, atleast in part, on an active session, or a previously transmitted packet,or both; embed the length code for the first packet into a header of thefirst packet; omit a length field indicating the length of the firstpacket from the header of the first packet, wherein the length code forthe first packet includes fewer bits than the length field; and initiatetransmission of the first packet via the transceiver.
 7. The wirelesscommunication device of claim 6, wherein the length code is furtherassociated with one of a TCP IPv4 packet, a TCP IPv4 Ack packet, a UDPIPv4 packet, a TCP IPv6 packet, a UDP IPv6 packet, or a TCP IPv6 Ackpacket.
 8. The wireless communication device of claim 6, wherein thelook-up table is dynamically configurable by the communication networkon a per call basis.
 9. The wireless communication device of claim 6,wherein the processor and memory are further configured to: determine alength of a second packet immediately subsequent the first packet ofpackets to be sent; compare the length of the second packet to thelength of the first packet; in response to the length of the secondpacket being equal to the length of the first packet, use the lengthcode for the first packet as the length code for the second packet;embed the length code for the second packet into a header of the secondpacket; omit a length field indicating the length of the second packetfrom the header of the second packet; and initiate transmission of thesecond packet via the transceiver.
 10. The wireless communication deviceof claim 6, wherein the processor and memory are further configured to:determine a length of a second packet immediately subsequent the firstpacket of packets to be sent; compare the length of the second packet tothe length of the first packet; in response to the length of the secondpacket being equal to the length of the first packet, identify a same asprevious length code for the second packet in the look-up table, whereinthe same as previous length code is different from the length code forthe first packet; embed the same as previous length code for the secondpacket into a header of the second packet; omit a length fieldindicating the length of the second packet from the header of the secondpacket; and initiate transmission of the second packet.
 11. An apparatusfor use in wireless communication, the apparatus comprising: means fordetermining a length of a first packet to be sent; look-up means foridentifying a length code for the first packet based, at least in part,on the length of the first packet, the length code for the first packetbeing one of multiple length codes associated with predetermined packetlengths in a table, wherein the table is dynamically configurable by acommunication network based, at least in part, on an active session, ora previously transmitted packet, or both; means for embedding the lengthcode for the first packet into a header of the first packet; means foromitting a length field indicating the length of the first packet fromthe header of the first packet, wherein the length code for the firstpacket includes fewer bits than the length field; and means fortransmitting the first packet.
 12. The apparatus of claim 11, whereinthe length code is further associated with one of a TCP IPv4 packet, aTCP IPv4 Ack packet, a UDP IPv4 packet, a TCP IPv6 packet, a UDP IPv6packet, or a TCP IPv6 Ack packet.
 13. The apparatus of claim 11, whereinthe table is dynamically configurable by the communication network on aper call basis.
 14. The apparatus of claim 11, and further comprising:means for determining a length of a second packet immediately subsequentthe first packet of packets to be sent; means for comparing the lengthof the second packet to the length of the first packet; means for usingthe length code for the first packet as the length code for the secondpacket, in response to the length of the second packet being equal tothe length of the first packet; means for embedding the length code forthe second packet into a header of the second packet; means for omittinga length field indicating the length of the second packet from theheader of the second packet; and means for transmitting the secondpacket.
 15. The apparatus of claim 11, and further comprising: means fordetermining a length of a second packet immediately subsequent the firstpacket of packets to be sent; means for comparing the length of thesecond packet to the length of the first packet; look-up means foridentifying a same as previous length code for the second packet in thetable, in response to the length of the second packet being equal to thelength of the first packet, and wherein the same as previous length codeis different from the length code for the first packet; means forembedding the same as previous length code for the second packet into aheader of the second packet; means for omitting a length fieldindicating the length of the second packet from the header of the secondpacket; and means for transmitting the second packet.
 16. An article ofmanufacture comprising: a non-transitory computer-readable medium havingstored therein instructions executable by a processor of a wirelesscommunication device to: determine a length of a first packet to besent; identify a length code for the first packet based, at least inpart, on the length of the first packet, the length code for the firstpacket being one of multiple length codes associated with predeterminedpacket lengths in a look-up table, wherein the look-up table isdynamically configurable by a communication network based, at least inpart, on an active session, or a previously transmitted packet, or both;embed the length code for the first packet into a header of the firstpacket; omit a length field indicating the length of the first packetfrom the header of the first packet, wherein the length code for thefirst packet includes fewer bits than the length field; and initiatetransmission of the first packet.
 17. The article of claim 16, whereinthe length code is further associated with one of a TCP IPv4 packet, aTCP IPv4 Ack packet, a UDP IPv4 packet, a TCP IPv6 packet, a UDP IPv6packet, or a TCP IPv6 Ack packet.
 18. The article of claim 16, whereinthe look-up table is dynamically configurable by the communicationnetwork on a per call basis.
 19. The article of claim 16, wherein theinstructions are further executable by the processor to: determine alength of a second packet immediately subsequent the first packet ofpackets to be sent; compare the length of the second packet to thelength of the first packet; in response to the length of the secondpacket being equal to the length of the first packet, use the lengthcode for the first packet as the length code for the second packet;embed the length code for the second packet into a header of the secondpacket; omit a length field indicating the length of the second packetfrom the header of the second packet; and initiate transmission of thesecond packet.
 20. The article of claim 16, wherein the instructions arefurther executable by the processor to: determine a length of a secondpacket immediately subsequent the first packet of packets to be sent;compare the length of the second packet to the length of the firstpacket; in response to the length of the second packet being equal tothe length of the first packet, identify a same as previous length codefor the second packet in the look-up table, wherein the same as previouslength code is different from the length code for the first packet;embed the same as previous length code for the second packet into aheader of the second packet; omit a length field indicating the lengthof the second packet from the header of the second packet; and initiatetransmission of the second packet.